package com.ruoyi.system.media;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

/**
 * 卡片发行基本数据文件(DF01/0015)解码信息
 */
public class Ucard0015Model {
    /**
     * 发行方标识(01-08,8,cn)
     * 格式：AAAAAAAA + BBBB + CC + DD
     * AAAAAAAA：省级行政区划代码，2 个汉字的GB2312码的HEX码（8 个字节）,军车、武警车为"军车";
     * BBBB：运营商标识，压缩BCD码，河南为0x4101；
     * CC：保留；
     * DD：密钥分散级别，取值为 01。
     * 样例：0xBAD3C4CF41010001
     */
    @JSONField(ordinal = 1)
    public String cIssData = "";

    /**
     * 卡片类型(09-09,1,n)
     * 22-储值卡；23-记账卡
     */
    @JSONField(ordinal = 2)
    public int nCardCls = 0;

    /**
     * 卡片版本(10-10,1,cn)
     */
    @JSONField(ordinal = 3)
    public String nCardVsn = "";

    /**
     * 卡片网络(11-12,2,cn)
     * 样例:0x4101
     * 	TODO:注意上海、江苏等发行的老ETC卡,此字段有错误,不能用此字段构造20位卡号
     */
    @JSONField(ordinal = 4)
    public String cNetWork = "";

    /**
     * 卡片内部编号(13-20,8,cn)
     * 由1 字节“初始化年份”、1 字节“初始化星期”、1 字节“卡片类型”和5字节“卡片序列号”组成
     */
    @JSONField(ordinal = 5)
    public String cCardsId = "";

    /**
     * 启用时间(21-24,4,cn)
     * 格式:"0xccyymmdd"
     */
    @JSONField(ordinal = 6)
    public String cStaDtTm = "20241231";

    /**
     * 到期时间(25-28,4,cn)
     * 格式:"0xccyymmdd"
     */
    @JSONField(ordinal = 7)
    public String cEndDtTm = "20280101";

    /**
     * 车牌号码(29-40,12,an,不含颜色)
     */
    @JSONField(ordinal = 8)
    public String cCarPlat = "";

    /**
     * 用户类型(41-41,1,n)
     * 0-普通车； 6-公务车； 8-军警车； 10-紧急车； 12-免费；14-车队； 0～20 内其他：自定义；
     * 21-绿通车； 22-联合收割机 ; 23-抢险救灾; 24－J1专用集装箱车；25-大件运输; 26－应急救援车；27－货车列车或半挂汽车列车;28-J2集装箱车
     */
    @JSONField(ordinal = 9)
    public int nUserCls = 0;

    /**
     * 车牌颜色(42-42,1,n)
     * 0x00 –蓝色； 0x01–黄色； 0x02 –黑色； 0x03 –白色； 0x04－渐变绿色； 0x05－黄绿双拼色； 0x06－蓝白渐变；0x07～ 0xFF 保留
     */
    @JSONField(ordinal = 10)
    public int nPlatClr = 0;

    /**
     * 车型(原折扣率值)(43-43,1,n)
     * 1~4：客1~客4；11~16：货1~货6；21~26：专1~专6
     */
    @JSONField(ordinal = 11)
    public int nVType = 0;

    /**
     * 备用(44-50,7,an)
     */
    @JSONField(ordinal = 12)
    public String spare0015 = "";
}